package com.open.httpauto;

import com.alibaba.fastjson2.JSONObject;
import com.open.httpauto.http.Context;
import com.open.httpauto.http.RequestParameter;

import java.util.List;

/**
 * 对加密 handler 接口 简单实现 默认走此实现
 */
public class SimpleDigestHandler implements IDigestHandler {

    /**
     * md5 签名
     *
     * @param requestMap      请求参数映射
     * @param paramJsonObject 参数数据
     * @param context         配置信息
     * @return 签名密文
     */
    @Override
    public String md5Sign(List<RequestParameter> requestMap, JSONObject paramJsonObject, Context context) {
        return DigestEnum.MD5.md5Sign(requestMap, paramJsonObject, context);
    }

    /**
     * aes 加密
     *
     * @param data    请求参数映射
     * @param context 配置信息
     * @return 密文
     */
    @Override
    public String aesEncrypt(String data, Context context) {
        return DigestEnum.AES.aesEncrypt(data, context);
    }

    /**
     * aes 解密
     *
     * @param data    请求参数映射
     * @param context 配置信息
     * @return 明文
     */
    @Override
    public String aesDecode(String data, Context context) {
        return DigestEnum.AES.aesDecode(data, context);
    }
}
